/**
 * 创建人:  @author huangpeng
 * 创建时间:  2024年12月29日 10:52
 * 项目名称:  lemon-blog-cloud
 * 文件名称:  QqAuthConfig
 * 文件描述:  @Description: QQ登录配置类
 * 公司名称:  xxxxxx
 * <p>
 * All rights Reserved, Designed By xxxxxx
 *
 * @Copyright: 2021-2024
 */
package com.lemon.auth.config;

import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.request.AuthQqRequest;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 包名称：com.lemon.auth.config
 * 类名称：QqAuthConfig
 * 类描述：QQ登录配置类
 * 创建人：@author huangpeng
 * 创建时间：2024年12月29日 10:52
 */
@Configuration
@ConfigurationProperties(prefix = "qq")
public class QqAuthConfig {

    private String clientId;
    private String clientSecret;
    private String loginRedirectUri;
    private String bindRedirectUri;

    @Bean("QqAuthRequest")  // 指定 Bean 名称
    public AuthQqRequest authQqRequest() {
        return new AuthQqRequest(AuthConfig.builder()
                .clientId(clientId)
                .clientSecret(clientSecret)
                .redirectUri(loginRedirectUri)
                .build());
    }

    @Bean("QqBindRequest")  // 指定 Bean 名称
    public AuthQqRequest bindGiteeRequest() {
        return new AuthQqRequest(AuthConfig.builder()
                .clientId(clientId)
                .clientSecret(clientSecret)
                .redirectUri(bindRedirectUri)
                .build());
    }

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getClientSecret() {
        return clientSecret;
    }

    public void setClientSecret(String clientSecret) {
        this.clientSecret = clientSecret;
    }

    public String getLoginRedirectUri() {
        return loginRedirectUri;
    }

    public void setLoginRedirectUri(String loginRedirectUri) {
        this.loginRedirectUri = loginRedirectUri;
    }

    public String getBindRedirectUri() {
        return bindRedirectUri;
    }

    public void setBindRedirectUri(String bindRedirectUri) {
        this.bindRedirectUri = bindRedirectUri;
    }
}
